Skip to content

Conversation

@akioogawa
Copy link
Contributor

@akioogawa akioogawa commented May 2, 2025

Briefly, what does this PR introduce?

Following Forward EM calorimeter geometry update:
eic/epic#855
this provides switch between Homogeneous and ScFi geometry implementations based on xml file loaded

  • For Homogenous, we keep energy smearing as is. SF=1.0
  • For ScFi, hits from fibers are summed to a tower and no enrgy smearing applied. SF=0.03.
  • Remove active insert which won't be built

Added an option to put SiPM saturation to CalorimeterHitDigi

  • Specify 2 new parameters : totalPixel and nPhotonPerGeV
  • default for totalPixel is 0, which case no attenuation is applied
  • For FEMC for both geometry models, SiPM saturation is ON by default
  • Use "-PFEMC:SiPMSaturation=OFF" to turn it off

See following links for some more details:
https://www.star.bnl.gov/~akio/epic/geometry/index.html
https://www.star.bnl.gov/~akio/epic/reco/index.html
https://www.star.bnl.gov/~akio/epic/hadron/index.html

What kind of change does this PR introduce?

  • Bug fix (issue #__)
  • New feature (issue #__)
  • Documentation update
  • Other: __

Please check if this PR fulfills the following:

  • Tests for the changes have been added
  • Documentation has been added / updated
  • Changes have been communicated to collaborators

Does this PR introduce breaking changes? What changes might users need to make to their code?

I don't think so, unless one provides wrong config xml file (until sum check in place)

Does this PR change default behavior?

It does apply SiPM attenuation by default for FEMC (but not other calorimeters).

Adding switch between Homogeneous and ScFi geometry implementations based on xml file loaded
  - For Homogenous, we keep enrgy smeasring as is. SF=1.0
  - For ScFi, hits from fibers are summed to a tower and no enrgy smearing applied. SF=0.03.
Added option to put SiPM saturation to CalorimeterHitDigi
  - Specify 2 new parameters : totalPixel and nPhotonPerGeV
  - default for totalPixel is 0, which case no attenuation is applied
For FEMC for both geometry models, SiPM saturation is ON by default
 - Use "-PFEMC:SiPMSaturation=OFF" to turn it off
@wdconinc
Copy link
Contributor

wdconinc commented May 2, 2025

Please address the conflicts by performing a git rebase (preferably). As long as there are conflicts the automatic checks can't even start to run.

@akioogawa
Copy link
Contributor Author

Done

@akioogawa
Copy link
Contributor Author

As I understand, FEMC insert wil not be build. So it was removed from geometry and here FEMC factories. How can I remove it from auto checks?

@wdconinc
Copy link
Contributor

wdconinc commented May 6, 2025

As I understand, FEMC insert wil not be build. So it was removed from geometry and here FEMC factories. How can I remove it from auto checks?

Removing a detector would be something to do in a separate pr.

@akioogawa
Copy link
Contributor Author

#1852

akioogawa and others added 4 commits May 12, 2025 09:23
… to Homogeneous model

  (see https://www.star.bnl.gov/~akio/epic/reco/index.html)
- Adding ScFi model's resolution smearing of 2.2% constant term based on high energy end
  (see https://www.star.bnl.gov/~akio/epic/reco/index.html)
- Changing ADC threshold from 2 (~9MeV which was too low) to 3 (~15MeV as intended)
- Rename an unfortunate variable name
veprbl and others added 7 commits October 27, 2025 21:17
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:105:39: note: insert an explicit cast to silence this issue
  105 |          .numEffectiveSipmPixels    = totalPixel},
      |                                       ^~~~~~~~~~
      |                                       static_cast<unsigned long long>( )
 /home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:102:39: error: ISO C++ requires field designators to be specified in declaration order; field 'fields' will be initialized after field 'readoutType' [-Werror,-Wreorder-init-list]
  102 |          .readoutType               = "sipm",
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
```
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:78:39: error: ISO C++ requires field designators to be specified in declaration order; field 'readout' will be initialized after field 'readoutType' [-Werror,-Wreorder-init-list]
   78 |          .readoutType               = "sipm",
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:77:39: note: previous initialization for field 'readout' is here
   77 |          .readout                   = "EcalEndcapPHits",
      |                                       ^~~~~~~~~~~~~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:100:39: error: ISO C++ requires field designators to be specified in declaration order; field 'readout' will be initialized after field 'readoutType' [-Werror,-Wreorder-init-list]
  100 |          .readoutType               = "sipm",
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:99:39: note: previous initialization for field 'readout' is here
   99 |          .readout                   = "EcalEndcapPHits",
      |                                       ^~~~~~~~~~~~~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:102:39: error: ISO C++ requires field designators to be specified in declaration order; field 'fields' will be initialized after field 'lightYield' [-Werror,-Wreorder-init-list]
  102 |          .lightYield                = EcalEndcapP_nPhotonPerGeV / EcalEndcapP_PhotonCollectionEff,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:101:39: note: previous initialization for field 'fields' is here
  101 |          .fields                    = {"fiberx", "fibery", "x", "y"},
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 errors generated.
```
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Clang-Tidy found issue(s) with the introduced code (1/1)

wdconinc and others added 3 commits October 28, 2025 10:33
This PR applies the include-what-you-use fixes as suggested by
https://github.com/eic/EICrecon/actions/runs/18876404095.
Please merge this PR into the branch `FEMCupdate20250501`
to resolve failures in PR #1848.

Auto-generated by [create-pull-request][1]

[1]: https://github.com/peter-evans/create-pull-request

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Clang-Tidy found issue(s) with the introduced code (1/1)

veprbl and others added 2 commits October 28, 2025 11:02
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR applies the include-what-you-use fixes as suggested by
https://github.com/eic/EICrecon/actions/runs/18878525598.
Please merge this PR into the branch `FEMCupdate20250501`
to resolve failures in PR #1848.

Auto-generated by [create-pull-request][1]

[1]: https://github.com/peter-evans/create-pull-request

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot dismissed stale reviews from themself October 28, 2025 15:14

No Clang-Tidy warnings found so I assume my comments were addressed

@veprbl
Copy link
Member

veprbl commented Oct 28, 2025

JException
  Message:  JOmniFactory 'FEMC:EcalEndcapPRawHits': Wrong number of input collection names: 2 expected, 1 found.

Has this been tested at all?

@akioogawa
Copy link
Contributor Author

Ran out of time yesterday. I'll test this Friday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants